home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d8
/
qmqmpc34.arc
/
PCBOARD.DOC
< prev
next >
Wrap
Text File
|
1990-09-20
|
21KB
|
478 lines
file: PCBOARD.DOC
------------------
by Brad Berson
09/18/90
v3.4
"Brief" documentation on PCBOARD.SCR
the Generic PCBoard ProLogon Qmodem Qmail PCBud Fully Automatic Script
First and foremost...
---------------------
Don't worry if this document occasionally seems to lapse into rambling
incomprehensibility. I write most of this stuff late at night, and I
hate writing any documentation I can't smoke.
What the heck is all this, anyway?
----------------------------------
This is "brief" documentation. That doesn't mean I'm writing about my
shorts. I'm just assuming you already know what Qmail and scripts are,
so I don't have to go through it all. PCBOARD.SCR is a script file for
Qmodem SST, version 4.2. If you are still using 3.1a or 4.1b, there's
no reason not to upgrade to 4.2. Do it, and do it now! This script
won't work with 4.1b unless extra script mmeory is allocated and other
changes are made.
PCBUD is a script generator for Qmodem. You provide it with names and
descriptions of files you wish to upload/download, and it produces a
script for Qmodem with all the commands necessary for hands-off up- and
downloading files. Chuck Seyboldt is responsible for PCBUD202.ZIP.
The main idea behind this script is to avoid littering your disk with
zillions of little script files for every BBS you call. All of us who
have 100 entries in our Qmodem phone directory and an automatic script
generator know full well how quickly your disk's free space dwindles to
zilch. This script is designed to allow automated logon and use of
nearly any PCBoard BBS.
What exactly does this all do?
------------------------------
When dialing into a PCBoard BBS that does not use QwikMail, this script
will provide automated log-on and will return control to you when the
regular PCBoard command prompt is reached. If you have been auto-joined
into a conference at log-on, the script will automatically (A)bandon the
conference. This was included mostly for the QwikMail end of things.
QwikMail is accessed through a 'DOOR' out of the BBS, and the number of
the QwikMail DOOR is not always the same from one BBS conference to
another. Starting out in the same ("main") conference all the time
assures that you open the correct DOOR.
When dialing into a PCBoard BBS that is equipped with QwikMail, this
script will then open the QwikMail DOOR, download all the new messages
and upload any replies that you may have prepared from a previous
off-line QwikMail session.
The script will also look for and execute a script generated by PCBud.
Before issuing the (G)oodbye command to the BBS, a 10 second delay is
employed, to give you a chance to interrupt the script and remain
on-line. In fact, between all major sections of the script there are
brief delays to allow interruptions or typing.
This script may seem comprehensive, but it doesn't account for every
possible permuation of unusual events. It tries to handle most of the
important things. If you think I missed something, let me know.
The inner workings...
---------------------
Upon a successful connection from dialing (Alt-D):
* The welcome screen is checked to see if ProLogon or PCboard is
being used. I like to take advantage of the time-saving speed
logon available in ProLogon.
* Comparison is made to check if the BBS is a QwikMail BBS, using
the name in the dial directory.
* If the BBS is a QwikMail BBS, variables are set for later use,
indicating the door number for QwikMail (qmdn) and the transfer
protocol and the name of the .QWK file to be downloaded (and
.REP file to be uploaded). Then a test is made for the existence
of .QWK and .REP files for that BBS and a flag set as necessary.
* A test is made for a PCBud script and a flag set accordingly.
UD.SEG will be tested if no special entry for the board exists
in PCBOARD.SCR. Otherwise, UD??.SEG where ?? is the two-letter
designation will be tested.
* The screen is cleared and a sign-on message indicating the
connect parameters and the BBS name is displayed.
If you seem to have trouble with the script recognising QwikMail
BBS's, make note of the exact formatting of the BBS name between
the "-><-". Trailing spaces can trip you up here, and having an
apostrophe in the BBS name can blow up everything.
* The usual logon questions are answered - language, graphics,
name (edited into the script), password (from the dialing dir).
If ProLogon was detected the time-saving speed-logon is used.
* If the "user not found" message appears, a "c" is sent for
"(C)ontinue to register" and control is returned to the operator.
If a password exists in that dialing directory entry it will be
used to register you.
The script will re-enter your name and password twice before
giving up and registering you as a new user, to allow for line
noise or lost characters affecting script operation.
* If a conference has been auto-joined, it is abandoned. This is
done because many boards do not have the same doors available
in the conferences as they do in the main boards/conferences.
* If the BBS is detected as being a QwikMail BBS, the QwikMail
handler is started.
If the QwikMail up/downloading flag is set to <N>either, the script
does not bother opening the QwikMail door. Otherwise, the door is
opened and the packet uploading and downloading is done.
* If there is still a .QWK file in the QMAIL directory for the BBS
you are connected to, the script will not download a new packet.
Otherwise a new packet will be downloaded. Two reasons: preventing
the loss of a wanted packet by overwriting it, and to provide a neat
mechanism for automatically avoiding downloading a new packet while
in the script. You can fake it out by having any file in the Qmail
directory with the name filename.QWK.
* If there is a .REP file in the QMAIL directory for the BBS you
are connected to, it is uploaded.
* After uploading a .REP file the screen is polled for " successful"
to determine the successful upload of the packet. The .REP file is
deleted after a successful upload. If the .QWK file presently on
disk wasn't just downloaded (that is, associated with the deleted
.REP), then it too is deleted.
* If UD??.SEG exists it is executed after returning to PCboard, so
file transfers may be performed. If CONFER.SCR exists, it will be
executed just before UD??.SEG. This was intended as a way to join
special or restricted conferences before uploading or downloading,
and can be used for other purposes as well. See example CONFER.SCR
* Once UD??.SEG has completed the UD??.SEG file will be renamed to
UD??.BAK. Any previous UD.BAK is first deleted. Re-using a .SEG
file is as easy as "REN UD??.BAK UD??.SEG". Change the ?? as
appropriate if using for another board.
* If you were signed onto a QwikMail board but no mail was transferred
due to an existing .QWK file and no .REP file, and if UD??.SEG did
not exist, it will be assumed that you want control returned to you.
* Otherwise, the count-down to logoff is performed and the connection
subsequently terminated.
In short (sort of)...
---------------------
The script is controlled mostly by what files happen to be lying around.
In the case of BBS's set up for QwikMail:
BBSNAME.QWK BBSNAME.REP BBSNAME.QWK UD??.SEG BBSNAME.QWK
BBSNAME.REP UD??.SEG UD??.SEG
UD??.SEG
-----------------------------------------------------------------------
no qmail d/l qmail d/l no qmail d/l qmail d/l no qmail
qmail u/l qmail u/l no qmail u/l no qmail u/l no xfers
file xfers file xfers file xfers file xfers stay online
auto logoff auto logoff auto logoff auto logoff
+--------------------------
BBSNAME.REP BBSNAME.REP no |With BBS's not set up for
BBSNAME.QWK files |Qmail, existence of *.SEG
------------------------------------------ |will start file xfers and
no qmail d/l qmail d/l qmail d/l |auto-logoff. Otherwise,
qmail u/l qmail u/l no qmail u/l |the script will leave you
no xfers no xfers no xfers |on-line
auto logoff auto logoff auto logoff +--------------------------
The script tries to delete REP files after they've been uploaded and
renames the *.SEG file to *.BAK, so just the QWK files are up to you.
What do I have to do now?
-------------------------
You don't use QwikMail or offline readers? Then you don't have to do a
single thing, except maybe delete the lines in PCBOARD.SCR that try to
identify the BBS you are using for Qmail. Just type PCBOARD.SCR in the
"attached script" field of your dial directory entries.
The automated Qmail feature does not come without some work to get it
all going. The first thing you should do is make a printout of the
PCBOARD.SCR file. Much of what you need to know or to find out is
already in there. Look at the script carefully so that you understand
most of what it's doing. Some of the logic may seem warped due to the
inflexible script language. A copy of the Qmodem SST documentation will
also help. Read the comments carefully. And I cannot stress the next
recommendation enough: READ ALL THE DIRECTIONS for this script, Qmodem
scripts and PCBud.
The first thing you should do is edit your own particulars into the
PCBOARD.SCR file. Your own name should be edited into the script, as
well as the directory specification for your QwikMail files and reader.
Make sure PCBud leaves its UD??.SEG file in the directory that Qmodem
has been configured to look for scripts in. The variables here are
'name' and 'qdir.'
Next, start up Qmodem SST and edit your phone directory to specify this
PCBOARD.SCR file next to all PCBoard BBSs in your directory. Also edit
your phone directory to include the respective passwords for each BBS.
Using Alt-N/D/S, make sure Qmodem can find where you put your scripts.
Once you have gotten this far, you can dial into your PCBoard BBSs and
lean back to watch fully automated log-ons. It's Willer time...
But what about QwikMail???
--------------------------
If you live in or around New York City, most of the dirty work has been
done already. Otherwise, you will need to know the number of the DOOR
used to access QwikMail for each individual QwikMail BBS. You will also
need to know the filename that each QwikMail BBS uses for its respective
QwikMail upload and download packets. You can find this out when you
log onto a QwikMail BBS, open the QwikMail door, and configure the
QwikMail system for yourself.
The Qmail-3/4 door has configuration options for extended and delayed
script prompts. These are not required. This script has been designed
to work without special prompts.
Armed with all this knowledge, edit the script starting where the lines
read 'IF "$board" = '. This is how the script knows whether you are
using a QwikMail-capable BBS or not. These lines compare the dialing
directory information. Thus, the comparisons should match your dialing
directory entries EXACTLY. Trailing spaces can screw things up, so make
sure to go into the dialing directory and check that the Qmail board
entries don't have trailing spaces after the name.
The variable 'qmdn' is the DOOR number to be used for QwikMail, and
'qbbs' is the filename for the QwikMail packets. Make sure that each
target of a successful comparison has the line 'GOTO STRT1'. You can
add as many comparisons as you need, following the same logic as shown
in the script. Just pick a new label. Example:
Add the comparison: IF "$board" = "Sleepy Hollow BBS" HOLLOW
Add the code block: HOLLOW:
ASSIGN qbbs "SLEEPY" ; this is correct
ASSIGN udid "SH" ; for PCBud
ASSIGN qmdn "5" ; door # here may not be!
ASSIGN spro "Z" ; zmodem to be used
GOTO STRT1
The script will look for the file UD.SEG if handling a board that is
not tested in the script. If you want a non-Qmail board to work with a
UD??.SEG file instead of looking for the filename UD.SEG, make an entry
for that board and simply leave out the assignments for 'qbbs', 'spro',
and 'qmdn'. Example:
Add the comparison: IF "$board" = "My BBS" MYBBS
Add the code block: MYBBS:
ASSIGN udid "SH" ; for PCBud
GOTO STRT1
The section of PCBOARD.SCR for identifying Qmail boards is separated
by dotted lines for easy identification. When upgrading the script
(assuming no drastic changes have been made to the script logic) you
can simply "cut-and-paste" everything between the lines.
There's more?
-------------
To use the Ymodem protocol (aka Xmodem-1K), just use the appropriate
letter for the variable(s) $spro - "O". To use Qmodem's new internal
Zmodem use "Z", or you can still use DSZ installed as an external
protocol. Since my up/download directories are not the same as my
Qmail directory, I installed Zmodem for regular upload- and down-
loading as "Z", and as "Q" for the Qmail directory.
═════ Setup Menu ══════════════════
Host * Protocols * Files O
═════╒═══════════════════╕═════════ (Isn't Desqview's
Make this "Z" --> │ 0 - DSZ Zmodem │ cut-and-paste
Make this "E" --> │ 1 - DSZ Recovery │ wonderful?!)
│ 2 - DSZ Qmail │
╒═════════════════════════════════╕
│ Select character Q │
│ Protocol DSZ Qmail░░░ │
│ Upload BAT QSZ.BAT░░░░░ │
│ Download BAT QRZ.BAT░░░░░ │
│ Filename Prompt N │
╘══════════════════════════F1 Help╛
This is how your Qmodem external protocol setup might look like.
(Your DSZ parameters may need to be different!)
QRZ.BAT contains:
ECHO OFF
CLS
ECHO %0 - Qmodem Q protocol - Zmodem receive for Qmail use
CD \COMM\QMAIL
C:\COMM\DSZ port %2 handshake both pB8192 rz C:\COMM\QMAIL
QSZ.BAT contains:
ECHO OFF
CLS
ECHO %0 - Qmodem Q protocol - Zmodem send for Qmail use
CD \COMM\QMAIL
C:\COMM\DSZ port %2 handshake both pB8192 sz %4
Just some notes:
----------------
Are you using the Sparkware QwikMail Reader you downloaded from the BBS?
Yeah, seems kinda clunky, doesn't it? You downloaded an old version.
The Sparkman has issued a DemoWare version of the Deluxe2 Reader, so you
can try before you buy. The Deluxe reader is still a commercial product,
but a fine one nonetheless. You can download Eric Cockrell's EZ-Reader
and get almost complete functionality immediately. I think EZ-Reader is
a much better product, too. Whatever you settle on, register it. Please
do your part to support shareware.
All the files you need are from the Qmail or EZ-Reader programs,
PCBUD202 and of course PCBOARD.SCR and all the Qmodem SST files. I've
included Chuck's PCBUD program for simplicity. The files in this
archive are:
PCBOARD.SCR The QModem PCboard ProLogon QMail PCbud script.
PCBOARD.DOC You're reading it!
PCBUD202.COM PCBud executable progam.
PCBUD202.DOC Documention for PCBud.
PCBUD202.PAS Turbo Pascal source code for PCBud.
CONFER.SCR Example conference-joining script.
DBBS.SCR A bonus! This is for dBBS logons.
If this helps avoid some confusion in the script file, or to organise
your own system, the way my system directories are set is:
C:\COMM Qmodem and other comm. related programs
C:\COMM\UPDOWN Upload and download files
C:\COMM\SCRIPTS Script (.SCR) files and PCBud program
C:\COMM\QMAIL EZ-Reader Qmail reader program files
- also destination for Qwikmail packets
Other notes:
------------
Warning: Some versions of Chuck Forsberg's DSZ only accept a pathname
on the command line in copies registered via the PUTSNP program. The
workaround is to "CD" to the directory and just use a filename without
a path specification. Certain versions will abort inexplicably due to
this usage - later versions explain the error.
While "QwikMail" is used consistently through this document, this script
is compatible with MarkMail as well as all current versions of QwikMail.
Your reader program may be the Shareware Qmail reader, the "commercial"
Qmail Deluxe or (my preference) Eric Cockrell's Shareware EZ-Reader.
You don't like the way the script handles things like file renaming or
deletion? Fine. Feel free to edit the script. The language is nearly
self-explanatory. You can disable lines simply by inserting semicolons
before them. You're familiar with DOS commands by now, so they're easy
enough to change to. The ">NUL" in the DOS lines are so you don't have
to see messages from DOS while the script is doing its thing.
Known problems: The PCBud scripts need one or two small tweaks. It
looks for "Aborts Transfer" to begin a file transfer, but some PCBoards
send "Aborts the Transfer" instead. The source can always be edited and
recompiled to look just "Aborts ". And the newest PCboard's multiple
filename descriptions hang the script. Editing in an extra 'CR' to be
sent after the description cures it (append a "^M"). Also, it doesn't
seem to reliably detect when a filename has not been found. But heck,
you've got the source code!
All this stuff works for me, tested mostly on boards local to New York
City. It's pretty reliable but nothing in the world is guaranteed,
which brings me to...
If you have any suggestions or comments please leave them addressed to
BRAD BERSON on the Sound of Music BBS (516) 536-8723 or the Invention
Factory BBS (212) 431-1273. I can also be reached through Compuserve
EasyPlex at [71631,132]. Another good way to reach me is by leaving
me a message on the International Qmodem support BBS echo. There you
can find the Qmodem author, John Friel, and many knowledgable Qmodem
users, supporters and enthusiasts to answer your questions and give you
the latest news about Qmodem SST!
You can send me money, gold, titles to cars and homes, 80486 systems,
OS/2 software, expensive consumer electronics, yuppie furniture, rare
art, exotic motorcycles and young, attractive HIV-negative women at
Capital Cities/ABC-TV, Inc., 47 West 66th Street, New York, NY 10023.
You thought I forgot to include what changed...
-----------------------------------------------
* This is almost totally rewritten! Less filling! Tastes great!
* PROLOGON.SCR is history, functions now integrated.
* Speed logon is handled better, routing directly to Qmail door.
* No longer quits door before logoff.
* Password on door exit and logoff questionnaire handlers fixed.
* Supports MarkMail, Qmail-2 and Qmail-3.
* My proofreader's on strike but I used a sperling checker.
* I'm making believe I have a sense of humour.
* Detection of successful REP uploads independant of protocol.
* Also deletes QWK file along with REP file.
* Renaming of used UD.SEG to UD.BAK (previous UD.BAK overwritten).
* Count-down at logoff timing is corrected.
* I'm still trying to make an Epson MX-80 into a rolling machine.
* I still haven't found a source for continuous-form EZ-widers.
Version 3.1:
* Beeps at logoff, and keeps beeping/trying if can't drop carrier.
* New users into ProLogon fixed up.
* Assumes PCboard if can't decide which.
* Fixed script stopping with "graphics mode off".
* Fixed Qmail-2 skipping empty packets when not scanning new files.
* One-keystroke interruptable countdowns between routines.
* Fixed DBBS.SCR for when error-correcting modems eat its welcome.
* Changed logic in numerous places for absolutely no reason at all.
Version 3.4:
* Skipped a few version numbers during Qmodem 4.2 beta cycle.
* Found I can print psychedelic rolling paper on an LQ-2550.
* Qmodem 4.2 now dynamically allocates script memory!
* 4.2 also appends trailing backslashes to path variables.
* Update your DSZ batch files so %3 is %4 now.
* I'm using PCBud's two-letter BBS designations now.
* Still more totally arbitrary changes in logic.
***********************************************************************
** Smoking this documentation has been known to cause sudden death **
** in laboratory ani ;askdffffffffffffffffffffffffffffffffffffffffffff